package mathive.client;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("user")
public interface UserService extends RemoteService {
	String loginToServer(String username, String password);
	ClientUser getUser(String session);
	boolean logoutFromServer(String session);
	boolean registerOnServer(String username, String password, String email);
	boolean isOnline(String session);
	boolean resetPassword(String email);
	boolean ChangePassword(String session, String oldPassword, String newPassword);
	boolean addScore(String session, int score);
	String[] getAllUsers();
	boolean deleteUser(String session, String username);
	boolean AdminChangePassword(String session, String username, String newPassword);
	boolean changeUserType(String session, String username, int type);
}
